/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projovem.rotinas.R002;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceUnit;
import javax.transaction.UserTransaction;
import projovem.controller.InstrumentoController;
import projovem.dao.Rotina002DAO;
import projovem.entity.Usuario;

/**
 *
 * @author admprojovem
 */
public class Rotina002PerfilEducadoresBean implements Serializable {

    @Resource
    private UserTransaction utx;
    @PersistenceUnit(unitName = "projovemPU")
    private EntityManagerFactory emf;
    private InstrumentoController controller = new InstrumentoController();
    private Rotina002PerfilEducadores rotina = new Rotina002PerfilEducadores();
    private Rotina002DAO rotinaDao = new Rotina002DAO();

    /** Creates a new instance of Rotina006Bean */
    public Rotina002PerfilEducadoresBean() {
        List<String> listComponenteCurricular = new ArrayList<String>();
        List<String> listQ11 = new ArrayList<String>();
        List<String> listQ13 = new ArrayList<String>();
        List<String> listQ14 = new ArrayList<String>();
        List<String> listQ8 = new ArrayList<String>();

        rotina.setListComponenteCurricular(listComponenteCurricular);
        rotina.setListQ11(listQ11);
        rotina.setListQ13(listQ13);
        rotina.setListQ14(listQ14);
        rotina.setListQ8(listQ8);
    }

    public void validarDados(String dadosValidos, Integer idRotinaEscolhida, EntityManagerFactory emf, UserTransaction utx) {

        rotina = rotinaDao.getPerfilEducadoresById(idRotinaEscolhida, emf);

        rotina.setUsrResponsavelValidacao(controller.obterUsuarioLogado().getId());
        rotina.setDadosValidos(dadosValidos);
        Usuario u = new Usuario();
        rotina.setDataValidacao(u.getDataAtual());
        rotina.setHoraValidacao(u.getHoraAtual());

        rotinaDao.validarDadosPerfilEducadores(rotina, emf, utx);
    }

    public String salvarRotina() {
        Usuario currentUser = controller.obterUsuarioLogado();
        rotina.setUsuario(currentUser);
        rotina.setDadosValidos("0");

        rotina.setComponenteCurricularLinguaPortuguesa("Nao");
        rotina.setComponenteCurricularMatematica("Nao");
        rotina.setComponenteCurricularCienciasNatureza("Nao");
        rotina.setComponenteCurricularQualificacaoProfissional("Nao");
        rotina.setComponenteCurricularLinguaEstrangeira("Nao");
        rotina.setComponenteCurricularCienciasHumanas("Nao");
        rotina.setComponenteCurricularParticipacaoCidada("Nao");

        if (rotina.getListComponenteCurricular() != null && rotina.getListComponenteCurricular().size() > 0) {
            for (String componenteCurricular : rotina.getListComponenteCurricular()) {
                if (componenteCurricular.equals("componenteCurricularLinguaPortuguesa")) {
                    rotina.setComponenteCurricularLinguaPortuguesa("Sim");
                }
                if (componenteCurricular.equals("componenteCurricularMatematica")) {
                    rotina.setComponenteCurricularMatematica("Sim");
                }
                if (componenteCurricular.equals("componenteCurricularCienciasNatureza")) {
                    rotina.setComponenteCurricularCienciasNatureza("Sim");
                }
                if (componenteCurricular.equals("componenteCurricularQualificacaoProfissional")) {
                    rotina.setComponenteCurricularQualificacaoProfissional("Sim");
                }
                if (componenteCurricular.equals("componenteCurricularLinguaEstrangeira")) {
                    rotina.setComponenteCurricularLinguaEstrangeira("Sim");
                }
                if (componenteCurricular.equals("componenteCurricularCienciasHumanas")) {
                    rotina.setComponenteCurricularCienciasHumanas("Sim");
                }
                if (componenteCurricular.equals("componenteCurricularParticipacaoCidada")) {
                    rotina.setComponenteCurricularParticipacaoCidada("Sim");
                }
            }
        }

        rotina.setQ8EducacaoInfantil("Nao");
        rotina.setQ8EnsinoFundamental("Nao");
        rotina.setQ8EnsinoMedio("Nao");
        rotina.setQ8EducacaoJovensAdultos("Nao");
        rotina.setQ8EnsinoTecnicoProfissionalizante("Nao");
        rotina.setQ8EnsinoSuperior("Nao");
        rotina.setQ8Outros("Nao");

        if (rotina.getListQ8() != null && rotina.getListQ8().size() > 0) {
            for (String q8 : rotina.getListQ8()) {
                if (q8.equals("Q8NuncaLecionei")) {
                    rotina.setQ8NuncaLecionei("Sim");
                }
                if (q8.equals("Q8EducacaoInfantil")) {
                    rotina.setQ8EducacaoInfantil("Sim");
                }
                if (q8.equals("Q8EnsinoFundamental")) {
                    rotina.setQ8EnsinoFundamental("Sim");
                }
                if (q8.equals("Q8EnsinoMedio")) {
                    rotina.setQ8EnsinoMedio("Sim");
                }
                if (q8.equals("Q8EducacaoJovensAdultos")) {
                    rotina.setQ8EducacaoJovensAdultos("Sim");
                }
                if (q8.equals("Q8EnsinoTecnicoProfissionalizante")) {
                    rotina.setQ8EnsinoTecnicoProfissionalizante("Sim");
                }
                if (q8.equals("Q8EnsinoSuperior")) {
                    rotina.setQ8EnsinoSuperior("Sim");
                }
                if (q8.equals("Q8Outros")) {
                    rotina.setQ8Outros("Sim");
                }
            }
        }

        rotina.setQ11Convite("Nao");
        rotina.setQ11AvaliacaoCurrículo("Nao");
        rotina.setQ11Entrevista("Nao");
        rotina.setQ11ProvaEscrita("Nao");
        rotina.setQ11Desempenho("Nao");

        if (rotina.getListQ11() != null && rotina.getListQ11().size() > 0) {
            for (String q11 : rotina.getListQ11()) {
                if (q11.equals("Q11Convite")) {
                    rotina.setQ11Convite("Sim");
                }
                if (q11.equals("Q11AvaliacaoCurrículo")) {
                    rotina.setQ11AvaliacaoCurrículo("Sim");
                }
                if (q11.equals("Q11Entrevista")) {
                    rotina.setQ11Entrevista("Sim");
                }
                if (q11.equals("Q11ProvaEscrita")) {
                    rotina.setQ11ProvaEscrita("Sim");
                }
                if (q11.equals("Q11Desempenho")) {
                    rotina.setQ11Desempenho("Sim");
                }
            }
        }

        rotina.setQ13a("Nao");
        rotina.setQ13b("Nao");
        rotina.setQ13c("Nao");
        rotina.setQ13d("Nao");
        rotina.setQ13e("Nao");

        if (rotina.getListQ13() != null && rotina.getListQ13().size() > 0) {
            for (String q13 : rotina.getListQ13()) {
                if (q13.equals("a")) {
                    rotina.setQ13a("Sim");
                }
                if (q13.equals("b")) {
                    rotina.setQ13b("Sim");
                }
                if (q13.equals("c")) {
                    rotina.setQ13c("Sim");
                }
                if (q13.equals("d")) {
                    rotina.setQ13d("Sim");
                }
                if (q13.equals("e")) {
                    rotina.setQ13e("Sim");
                }
            }
        }


        rotina.setQ14a("Nao");
        rotina.setQ14b("Nao");
        rotina.setQ14c("Nao");
        rotina.setQ14d("Nao");
        rotina.setQ14e("Nao");
        rotina.setQ14f("Nao");
        rotina.setQ14g("Nao");
        rotina.setQ14h("Nao");
        rotina.setQ14i("Nao");

        if (rotina.getListQ14() != null && rotina.getListQ14().size() > 0) {
            for (String q14 : rotina.getListQ14()) {
                if (q14.equals("a")) {
                    rotina.setQ14a("Sim");
                }
                if (q14.equals("b")) {
                    rotina.setQ14b("Sim");
                }
                if (q14.equals("c")) {
                    rotina.setQ14c("Sim");
                }
                if (q14.equals("d")) {
                    rotina.setQ14d("Sim");
                }
                if (q14.equals("e")) {
                    rotina.setQ14e("Sim");
                }
                if (q14.equals("f")) {
                    rotina.setQ14f("Sim");
                }
                if (q14.equals("g")) {
                    rotina.setQ14g("Sim");
                }
                if (q14.equals("h")) {
                    rotina.setQ14h("Sim");
                }
                if (q14.equals("i")) {
                    rotina.setQ14i("Sim");
                }
            }
        }


        String retorno = "";
        if (ValidacaoPerfilEducadores.validaRotina(rotina)) {
            try {
                rotinaDao.saveRotina002PerfilEducadoresBean(rotina, emf, utx);
                retorno = "Rotina002PerfilEducadoresSalva";
            } catch (Exception ex) {
                String message = "Houve um erro na gravação dos dados. Sua rotia não foi salva. Por favor, tente novamente.";
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, message, message));
                ex.printStackTrace();

            }
        }



        return retorno;
    }

    public Rotina002PerfilEducadores getRotina() {
        return rotina;
    }

    public void setRotina(Rotina002PerfilEducadores rotina) {
        this.rotina = rotina;
    }
}
